package org.etnaframework.module.web.api;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Web访问日志的生成器，可自定义记录访问日志的内容
 *
 * @author jasyaf
 * @since 2023-12-27
 */
public interface IWebAccessLogCustomizer {

    /**
     * 是否需要记录日志，可自定义规则决定哪些请求的日志记录还是不记录
     */
    boolean needToSaveLog(HttpServletRequest request, HttpServletResponse response, String path);

    /**
     * 生成请求日志，可自定义记录的格式和内容
     */
    String createAccessLog(HttpServletRequest request, HttpServletResponse response, long ts);
}
